return op.u.bind_virq.port;
}
-int bind_virq_to_irq(int virq)
+int bind_virq_to_irq(int virq, int cpu)
{
printk("bind_virq_to_irq called... FIXME??\n");
while(1);
evtchns[evtchn].handler = handler;
evtchns[evtchn].dev_id = dev_id;
unmask_evtchn(evtchn);
- return 0;
+ //return 0;
+ /* On ia64, there's only one irq vector allocated for all event channels,
+ * so let's just return evtchn as handle for later communication
+ */
+ return evtchn;
}
void unbind_evtchn_from_irqhandler(unsigned int evtchn, void *dev_id)
#include <asm/pgtable.h>
#include <asm/uaccess.h>
#include <asm/tlb.h>
-#include <asm-xen/linux-public/privcmd.h>
#include <asm/hypervisor.h>
+#include <asm-xen/linux-public/privcmd.h>
#include <asm-xen/xen-public/xen.h>
#include <asm-xen/xen-public/dom0_ops.h>
#include <asm-xen/xen_proc.h>
static int __init xenbus_probe_init(void)
{
- int err = 0;
- /*
- ** Domain0 doesn't have a store_evtchn or store_mfn yet.
- */
- int dom0 = (xen_start_info->store_evtchn == 0);
+ int err = 0, dom0;
printk("xenbus_probe_init\n");
device_register(&xenbus_frontend.dev);
device_register(&xenbus_backend.dev);
+ /*
+ ** Domain0 doesn't have a store_evtchn or store_mfn yet.
+ */
+ dom0 = (xen_start_info->store_evtchn == 0);
+
if (dom0) {
unsigned long page;